Route determination based on user ranking of wireless internet quality of service metrics

ABSTRACT

A method for determining a route of travel for a mobile device from a start point to at least one destination point based on a user ranking of wireless internet quality of service metrics using a server connected to the mobile device through a network. The server receives the start point, at least one destination point, and the ranking of wireless internet quality of service metrics from the mobile device. The server determines registered wireless access points along a plurality of routes between the starting point and the at least one destination point accessible to the mobile device. The server ranks each of the plurality of routes based on the wireless internet quality of service metrics of the wireless access points along the route and the user ranking of the wireless internet quality of service metrics; and sends at least one of the routes to the mobile device.

BACKGROUND

The present invention relates to wireless network access and morespecifically to route determination based on users' ranking of wirelessinternet quality of service metrics.

With the surge in mobile computing, being permanently connected to theinternet is becoming more important. Smartphones provide the ability toconduct many business and personal tasks while being mobile and usingthe cellular network for communication. This can be expensive due tocostly data plan rates and roaming charges. To avoid such charges,mobile users with mobile devices can leverage wireless technology, andseek open and available wireless access points. Using wireless internetin preference to cellular data works well when the user is notin-motion. However, if the user is in-motion (e.g., in a car, on a trainor bus, or on foot), after moving a short distance the user will becomedisconnected from the wireless access point and unable to conduct tasksthat require connectivity. The user is now faced with searching againfor any available wireless access points, and once again negotiatingconnectivity for each access point, specifying credentials for differentaccess points each time.

SUMMARY

According to one embodiment of the present invention a method fordetermining a route of travel for a mobile device from a start point toat least one destination point based on a user ranking of wirelessinternet quality of service metrics using a server connected to themobile device through a network is disclosed. The method comprising thesteps of: the server receiving the start point, at least one destinationpoint, and the ranking of wireless internet quality of service metricsfrom the mobile device; the server determining registered wirelessaccess points along a plurality of routes between the starting point andthe at least one destination point accessible to the mobile device; theserver ranking each of the plurality of routes based on the wirelessinternet quality of service metrics of the wireless access points alongthe route and the user ranking of the wireless internet quality ofservice metrics; and the server sending at least one of the routes tothe mobile device.

According to another embodiment of the present invention, a computerprogram product for determining a route of travel for a mobile devicefrom a start point to at least one destination point based on a userranking of wireless internet quality of service metrics using a serverconnected to the mobile device through a network is disclosed. Theserver comprises at least one processor, one or more memories, one ormore computer readable storage media, the computer program productcomprising a computer readable storage medium having programinstructions embodied therewith. The program instructions are executableby the server to perform a method comprising: receiving, by the server,the start point, at least one destination point, and the ranking ofwireless internet quality of service metrics from the mobile device;determining, by the server, registered wireless access points along aplurality of routes between the starting point and the at least onedestination point accessible to the mobile device; ranking, by theserver, each of the plurality of routes based on the wireless internetquality of service metrics of the wireless access points along the routeand the user ranking of the wireless internet quality of servicemetrics; and sending, by the server, at least one of the routes to themobile device.

According to another embodiment of the present invention, a computersystem for determining a route of travel for a mobile device from astart point to at least one destination point based on a user ranking ofwireless internet quality of service metrics using a server connected tothe mobile device through a network is disclosed. The system comprises aserver comprising at least one processor, one or more memories, one ormore computer readable storage media having program instructionsexecutable by the computer to perform the program instructions. Theprogram instructions comprising: receiving, by the server, the startpoint, at least one destination point, and the ranking of wirelessinternet quality of service metrics from the mobile device; determining,by the server, registered wireless access points along a plurality ofroutes between the starting point and the at least one destination pointaccessible to the mobile device; ranking, by the server, each of theplurality of routes based on the wireless internet quality of servicemetrics of the wireless access points along the route and the userranking of the wireless internet quality of service metrics; andsending, by the server, at least one of the routes to the mobile device.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

FIG. 1 is a diagram illustrating a mobile device, a server, and Wi-Fiaccess points along a route, in accordance with one embodiment of thepresent invention.

FIG. 2A is a diagram illustrating a first exemplary system for en-routewireless network access, in accordance with a first embodiment of thepresent invention.

FIG. 2B is a diagram illustrating a second exemplary system for en-routewireless network access, in accordance with a second embodiment of thepresent invention.

FIG. 3 shows a flow diagram of a method of registering a ranking ofquality of service metrics regarding wireless internet access points.

FIG. 4 shows a flow diagram of a method of route determination between astart point and at least one destination based on wireless internetqualities of service.

FIG. 5 is a diagram illustrating components of a computer device hostinga server shown in FIG. 1, in accordance with one embodiment of thepresent invention.

DETAILED DESCRIPTION

Embodiments of the present invention provide a system and method fordetermining a route based on user ranking of wireless internet qualitiesof service metrics for dynamic wireless connectivity for a mobile devicewhich is in-motion and traveling from a start point to a destinationpoint.

It will be understood that where the term “Wi-Fi” is used herein, it isnot intended to limit the system and method to networking products thatallow an electronic device to exchange data or connect to the internetusing 2.4 GHz UHF and 5 GHz SHF radio signals which are manufacturedunder the registered certification mark “Wi-Fi” owned by the Wi-FiAlliance, or to IEEE 802.11-type wireless access protocols, but ratherto include any sort of wireless local area network (LAN) or wide areanetwork (WAN) data access provided by distributed access points, otherthan the cellular telephone network. Such access points might operateusing Bluetooth® or Zigbee® systems, or other systems currently in useor yet to be developed.

The system and method uses the current GPS location, input of a startlocation and at least one destination point and the traveling directionof the mobile device to determine routes available for the mobile deviceto travel along with a reference source of known available wirelessaccess points on the routes. The routes are preferably chosen based onspecific ranking of quality of service metrics provided by the user ofthe mobile device.

FIG. 1 is a diagram illustrating mobile device 110, server 120, andWi-Fi access points (130-1 through 130-n) along a first mobile deviceroute 140, and a second, alternate mobile device route 141 in accordancewith one embodiment of the present invention. The various Wi-Fi Accesspoints 130-1 . . . 130-n are connected to a network 105 such as the

Internet, a private data network, or similar systems. The server 120 isalso connected to the network 105. Mobile device 110 moves from locationA to location B along either the first mobile device route 140 or thesecond mobile device route 141, or along other alternate routes may alsobe used which are not shown.

Along route 140, Wi-Fi access points 1 through 4 (130-1 through 130-4)are available for connectivity of mobile device 110 to the network 105.Wi-Fi access points 1 through 4 (130-1 through 130-4) have coverageareas 1 through 4 (135-1 through 135-4), respectively. Along thealternate route 141, Wi-Fi access points 4 through n (130-4 through130-n) are available for connectivity of mobile device 110. Wi-Fi accesspoints 4, 5, 6, and n (130-4 through 130-n) have coverage areas 4through n (135-4 through 135-n).

It should be noted that each of the Wi-Fi access points may have orprovide different qualities of service. These quality of service metricsmay be, but are not limited to signal strength, area of coverage,security (specific encryption methods such as WEP or WPA or WPA2),privacy, cost of using or being provided with access to the wirelessaccess point, radio protocol specification (IEEE 802.11a, 802.11b,802.11g, 802.11n), type of network services, wireless mesh network (WSN)or wireless internet service provider (WISP), reliability of reputationof the provider or other metrics relating to quality of service. Thereputation or reliability may be determined by each user optionallyproviding a rating (1 to 5 stars depending on the quality of servicethey get). Each provider could also be graded with an average userrating. Alternatively, the rating may be based on the average number ofdisconnects, reconnects, average signal strength, timeouts, etc. . . .which could then be averaged to provide a rating for reliability andreputation.

For example, the route 140, represented by the solid line, may have theroute with the lowest costs to the user for wireless access, and thealternate route 141, represented by the dash-dot-dot line may have thegreatest security. Another route (not shown) may have the greatestaverage signal strength along the route. Still another route might bechosen to give the fewest transitions from access point to access point(handoffs), or to use only access points offering the strongestencryption, or provided by a given WISP.

Referring to FIG. 1, mobile device 110 is a laptop, a tablet, asmartphone, or any mobile electronic device capable of receiving inputfrom a user, executing computer program instructions, and communicatingwith another computing system (such as server 120). Server 120 islocated on a computer device which is described in FIG. 5. Mobile device110 establishes connectivity to the network 105 through Wi-Fi accesspoints 1 through 4 (130-1 through 130-4) or Wi-Fi access points 4through n (130-4 through 130-n).

In an embodiment of the invention, the processes for establishingconnectivity of mobile device 110 to Wi-Fi access points 1 through 4(130-1 through 130-4) or Wi-Fi access points 4-n (130-4 through 130-n)is conducted prior to arrival of mobile device 110 in the coverage areas(135-1 through 135-n) of each of Wi-Fi access points 1 through n (135-1through 135-n). Before mobile device 110 moves out of one coverage area(say, 135-2) and enters a next coverage area 135-1, the system (forexample using server 120 or device 110) processes negotiation with thenext available Wi-Fi access point (130-1); thus, connectivity betweenmobile device 110 and the next available Wi-Fi access point (130-1) isseamlessly established as the device 110 enters the coverage area 135-1.

The negotiation could be performed with respect to the entire route,rather than one access point at a time. For example, shown as in FIG. 1,before mobile device 110 moves out of coverage area 4 (135-4), thesystem processes negotiation with Wi-Fi access points 1-3 (130-1 through130-3) and pre-authenticates mobile device 110 for connectivity withWi-Fi access points 1-3 (130-1 through 130-3). Alternatively, before themobile device 110 moves out of coverage area 4 (135-4), the systemprocesses negotiation with Wi-Fi access points 5-n (130-5 through130-n). Thus, the system establishes authorized access to Wi-Fi accesspoints 5-n (130-5 through 130-n) before the mobile device enterscoverage areas 5-n (135-5 through 135-n), and mobile device 110 does notexperience any loss of connectivity along mobile device route 141.

FIG. 2A is a diagram illustrating system 200 a for en-route wirelessnetwork access, in accordance with a first embodiment of the presentinvention. System 200 a comprises mobile device 110, server 120, Wi-Fiaccess point external database 220, and a plurality of Wi-Fi accesspoints 130-1 . . . 130-n. Shown in FIG. 2A, the plurality of theproviders, for example, are providers 210-1 through 210-n of Wi-Fiaccess points 1 through n (130-1 through 130-n shown in FIG. 1).

Referring to FIG. 2A, mobile device 110 comprises client application 201which has functionality on the mobile device side to establishconnectivity between the mobile device and wireless access pointsen-route. Client application 201 communicates with other components onmobile device 110 and controller service 206 on server 120. Controllerservice 206 has functionality on the server side to pre-determine andestablish secure access between the mobile device and wireless accesspoints en-route, which communicates with client application 201 andother components on server 120. The controller service 206 also has thefunctionality to provide alternate routes and information regarding thewireless access points based on a ranking of quality of service metricsestablished by the user. Additionally, the controller service 206 cangraphically display alternate routes between a start point and at leastone destination point on a map while indicating the quality of servicemetric each route represents to the user of the mobile device 110.

The above-mentioned other components on mobile device 110 comprise localWAP (Wireless Access Point) data store 202, local user and deviceregistration data store 203, GPS (Global Positioning System) locationservice 204, and wireless service 205.

Local WAP data store 202 maintains, on mobile device 110, data ofwireless access points (such as Wi-Fi access points 1 through 4 (130-1through 130-n)). Local user and device registration data store 203maintains, on mobile device 110, data of mobile device 110 and the userthereof, such as data of SSID (Service Set Identification), username,and password credentials. The registration data store 203 may alsoinclude a ranking of quality of service metrics established by the user.The registration data store 203 may also include subscriptions to orpre-negotiated access to any Wi-Fi access points. GPS location service204 provides information of the location and the route of mobile device110. Additionally, the GPS location service 204 can graphically displayalternate routes between a start point and at least one destinationpoint on a map while indicating the quality of service metric each routerepresents to the user of the mobile device 110. Wireless service 205communicates with providers 210-1 through 210-n of Wi-Fi access points 1through n (130-1 through 130-n), and it provides connectivity betweenmobile device 110 and Wi-Fi access points (130-1 through 130-n) en-routebased on the route chosen by the user.

The above-mentioned other components on server 120 comprise Wi-Firegistration service 207, online WAP data store 208, route data store212, and user and device registration data store 209. Wi-Fi registrationservice 207 communicates with providers 210-1 through 210-n of Wi-Fiaccess points 1 through 4 (130-1 through 130-n). Online WAP data store208 maintains, on server 120, data of all pre-determined andpre-authorized wireless access points (such as Wi-Fi access points 1through n (130-1 through 130-n)) as well as quality of service metricsassociated with each of the Wi-Fi access points 1 through n (130-1through 130-n)). Online WAP data store 208 communicates with Wi-Fiaccess point external database 220 and retrieves relevant data stored onthe external database. User and device registration data store 203maintains, on server 120, data of mobile device 110 and the userthereof, such as data of SSID (Service Set Identification), username,password credentials, quality of service metrics of wireless accesspoints ranked in a hierarchy as defined by a user, and subscriptions orpre-negotiated access to Wi-Fi points. The ranking of quality of servicemetrics may alternatively or additionally be stored on the mobile device110. The ranking of quality of service metrics is preferably provided bythe user, but may also be preset with to a specific quality of servicemetric as being most important. Route data store 212 includes aplurality of routes from starting points to at least one destinationassociated with pre-authorized wireless access points which may be basedon input from the GPS location service 204. The route data store 212communicates with the online WAP data store 208 to include data of allpre-determined and pre-authorized wireless access points (such as Wi-Fiaccess points 1 through n (130-1 through 130-n)) as well as metricsassociated with each of the Wi-Fi access points 1 through n (130-1through 130-n)) along the routes between the starting points and the atleast one destination.

Referring to FIG. 2A, server 120 retrieves, from user and deviceregistration data store 209, user's credentials (such as name, address,user ID, password, email address, billing information, ranking ofquality of service metrics etc.) and device credentials (such as deviceMAC (media access control) address, and IP address). The location of themobile device 110 and/or a starting point and at least one destinationmay also be retrieved from the mobile device 110 via the clientapplication 201 from the GPS location service 204. The server 120determines various routes between the starting point, which may be thecurrent location, and at least one destination based on the ranking ofquality of service metrics and the Wi-Fi access points 1 through n(130-1 through 130-n) along the various routes.

The routes between the starting point and the at least one destinationare sent to the mobile device 110 by the server 120. The routes arepreferably graphically displayed to the user on the mobile devicedistinguishing the quality of service metric be exemplified by saidroute. Once the server 120 receives a chosen route from the mobiledevice 110, server 120 communicates with providers 210-1 through 210-nof Wi-Fi access points 1 through n (130-1 through 130-n) along thechosen route between the starting point and the least one destination.The credentials retrieved are used to negotiate the access to Wi-Fiaccess points 1 through n (130-1 through 130-n) along the chosen route,before mobile device 110 enters coverage areas 1 through n (135-1through 135-n). Access to Wi-Fi access points 1 through n (130-1 through130-n) is qualified and approved before mobile device 110 arrives incoverage areas 1 through n (135-1 through 135-n). Appropriate orrequired billing services are then activated when mobile device 110 isconnected to Wi-Fi access points 1 through n (130-1 through 130-n), andthe user of mobile device 110 is billed accordingly by providers (210-1through 210-n) of Wi-Fi access points 1 through n (130-1 through 130-n).The user of mobile device 110 moves from one wireless coverage area intoanother potentially overlapping wireless coverage area, withoutexperiencing loss of wireless connectivity.

FIG. 2B is a diagram illustrating system 200 b for en-route wirelessnetwork access, in accordance with a second embodiment of the presentinvention. In the second embodiment, system 200 b comprises mobiledevice 110, server 120, Wi-Fi access point external database 220, andproviders 210-1 through 210-n of Wi-Fi access points 1 through n (130-1through 130-n shown in FIG. 1); these components of system 200 b areidentical to those of system 200 a. However, system 200 b comprisescollective provider 211.

Referring to FIG. 2B, collective provider 211 collectively groupsproviders 210-1 through 210-n of Wi-Fi access points 1 through n (130-1through 130-n shown in FIG. 1). Billing to the user of mobile device 110is performed centrally by collective provider 211 rather than byindividual ones of providers 210-1 through 210-n. Wireless service 205on mobile device 110 and Wi-Fi registration service 207 on server 120communicate with collective provider 211 rather than individual ones ofproviders 210-1 through 210-n.

FIG. 3 shows a flow diagram of a method of registering a ranking ofquality of service metrics regarding wireless internet access points.

In a first step, a server 120 receives a registration of a ranking ofqualities of service metrics for Wi-Fi access points from the mobiledevice 110 and stores the ranking in a repository (step 301), forexample in the user and device registration data store 209. The rankingmay additionally be present on the mobile device 110, for example in thelocal user and device registration data store 203. The method ends.

The quality of service metrics may be, but is not limited to signalstrength, area of coverage, security (specific encryption methods suchas WEP or WPA or WPA2), privacy, cost of using or being provided withaccess to the wireless access point, radio protocol specification (IEEE802.11a, 802.11b, 802.11g, 802.11n), type of network services, wirelessmesh network (WSN) or wireless internet service provider (WISP),reliability of reputation of the provider or other metrics relating toquality of service. The ranking provides an indication of the user'srelative preferences of at least two different metrics. The reputationor reliability may be determined by each user optionally providing arating (1 to 5 stars depending on the quality of service they get). Eachprovider could also be graded with an average user rating.Alternatively, the rating may be based on the average number ofdisconnects, reconnects, average signal strength, timeouts, etc. . . .which could then be averaged to provide a rating for reliability andreputation.

For example, a user might value a higher-speed protocol (802.11g ratherthan 802.11b, for example) and he might also prefer access points withgreater security (WPA2 over WEP), but he is not as sensitive to the costof using the access points. Another user might prefer to avoid changingwireless access points, so he would rank choosing wireless access pointswith the widest area of coverage over speed of access.

FIG. 4 shows a flow diagram of a method of route determination between astart point and at least one destination based on wireless internetqualities of service.

In a first step (step 302) the server receives information of a startpoint and at least one destination or destination point and a quality ofservice metrics ranking associated with a user of the mobile device. Theinformation regarding the start point and destination may be obtainedfrom or sent by the GPS location service 204 shown in FIG. 2A and FIG.2B of the mobile device 110. In another embodiment, server 120 receivesroute information that is pre-planned and input by the user of themobile device through the mobile device.

Based on the start point and at least one destination point and theranking of quality of service metrics, server 120 determines registeredWi-Fi access points along different routes, based on a database onserver 120 (step 304). In the embodiment, the database is online WAPdata store 208 (shown in FIG. 2A and FIG. 2B). The online

WAP data store 208 communicates with Wi-Fi access point externaldatabase 220 and retrieves data stored on the external database. Inresponse to receiving the list from mobile device 110, server 120 checksonline WAP data store 208 and chooses from the list the Wi-Fi accesspoints registered by mobile device 110 which match the user definedranking of quality of service metrics and would allow the user to travelfrom the starting point to at least a destination point.

All routes with Wi-Fi access points available are sent to and displayedon the mobile device by the server (step 306). The routes may bepresented to the user through the mobile device in a ranked orhierarchical order based on the user's ranking of quality of servicemetrics preferences. Alternatively, only the best route (i.e. the onewhich best meets the user's ranking of metrics) presented in step 306,if preferred.

If more than one route was presented in step 306, the server 120receives a selection of a route of travel from the mobile device (step308). If only one route was presented in step 306, either because onlyone route was possible or because the alternative of only presenting thebest route had been selected, this step could be skipped.

In the example, the registered Wi-Fi access points are Wi-Fi accesspoints 1 through n (130-1 through 130-n) shown in FIG. 1. Two routeswhich provide Wi-Fi access points between a starting point A and adestination point B are shown in FIG. 1, route 140 and route 141, butadditional routes may also be present.

The routes 140, 141 would be displayed to the user on the mobile device,preferably by graphically overlaying the routes on a map showing thestarting point and at least the destination point. The different routesmay be coded to indicate what metric is being exemplified. In anexample, the user's ranking of quality of service metrics may provide ahigher rank or rating for lower cost over security or privacy. Forexample, the route 140, represented by the solid line, may have theroute with the lowest costs to the user for wireless access, and thealternate route 141, represented by the dash-dot-dot line may have thegreatest security. As noted above, all of the routes available can beprovided to the user of the mobile device to choose which route theywish to travel, or some subset of the routes (the first four or five,for example), or the system could be set to provide only the “best”route.

Information of the mobile device 110 and credentials of the user of themobile device are sent by server 120 to providers 210-1 through 210-n(shown in FIG. 2A) or collective provider 211 (shown in FIG. 2B) (step310). After negotiating the access to Wi-Fi access points 1 through 4(130-1 through 130-n), the server 120 receives connection information ofthe registered Wi-Fi access points along the chosen route from providers210-1 through 210-n or collective provider 211 (step 312).

The server 120 sends the connection information to the mobile device(step 314).

The server 120 synchronizes databases with the mobile device 110 (step316). The databases include local WAP data store 202 on mobile device110, local user and device registration data store 203 on mobile device110, online WAP data store 208 on server 120, route data store 212 onserver 120 and user and device registration data store 209 on server120.

The mobile device 110 dynamically changes Wi-Fi connectivity en-route,according to the connectivity information and the method ends.

For example, when mobile device 110 enters coverage area 4 (135-4) shownin FIG. 1, the mobile device establishes connectivity to Wi-Fi accesspoint 4 (130-4). When mobile device 110 leaves coverage area 4 (135-4)and enters coverage area 3 (135-3) or coverage area n, depending on theroute chosen, the mobile device 110 establishes connectivity to Wi-Fiaccess point 3 (130-3) or Wi-Fi access point n (130-n). Therefore,mobile device 110 establishes connectivity to respective Wi-Fi accesspoints 1 through n (135-1 through 135-n), as the mobile device movesalong the chosen route.

FIG. 5 is a diagram illustrating components of a computer device hostinga server shown in FIG. 1, in accordance with one embodiment of thepresent invention. It should be appreciated that FIG. 5 provides only anillustration of one implementation and does not imply any limitationswith regard to the environment in which different embodiments may beimplemented.

Referring to FIG. 5, computer device 400 includes processor(s) 420,memory 410, tangible storage device(s) 430, network interface(s) 440,and I/O (input/output) interface(s) 450. In FIG. 5, communications amongthe above-mentioned components of computing device 400 are denoted bynumeral 490. Memory 410 includes ROM(s) (Read Only Memory) 411, RAM(s)(Random Access Memory) 413, and cache(s) 415. One or more operatingsystems 431 and one or more computer programs 433 reside on one or morecomputer-readable tangible storage device(s) 430. Computing device 400further includes I/O interface(s) 450. I/O interface(s) 450 allows forinput and output of data with external device(s) 460 that may beconnected to computing device 400. Computing device 400 further includesnetwork interface(s) 440 for communications between computing device 400and a computer network.

The present invention may be a system, a method, and/or a computerprogram product. The computer program product may include a computerreadable storage medium (or media) having computer readable programinstructions thereon for causing a processor to carry out aspects of thepresent invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including an objectoriented programming language such as Java, Smalltalk, C++ or the like,and conventional procedural programming languages, such as the “C”programming language or similar programming languages. The computerreadable program instructions may execute entirely on the user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).In some embodiments, electronic circuitry including, for example,programmable logic circuitry, field-programmable gate arrays (FPGA), orprogrammable logic arrays (PLA) may execute the computer readableprogram instructions by utilizing state information of the computerreadable program instructions to personalize the electronic circuitry,in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

Having thus described the invention of the present application in detailand by reference to embodiments thereof, it will be apparent thatmodifications and variations are possible without departing from thescope of the invention defined in the appended claims.

1. A method for determining a route of travel for a mobile device from astart point to at least one destination point based on a user ranking ofwireless internet quality of service metrics using a server connected tothe mobile device through a network, comprising the steps of: the serverreceiving the start point, at least one destination point, and theranking of wireless internet quality of service metrics from the mobiledevice; the server determining registered wireless access points along aplurality of routes between the starting point and the at least onedestination point accessible to the mobile device; the server rankingeach of the plurality of routes based on the wireless internet qualityof service metrics of the wireless access points along the route and theuser ranking of the wireless internet quality of service metrics; andthe server sending at least one of the routes to the mobile device. 2.The method of claim 1, further comprising the steps of: the serversending user credentials and information regarding the mobile device toproviders of the registered wireless access points on the route; theserver receiving connection information of the registered wirelessaccess points on the route; and the server sending the connectioninformation to the mobile device.
 3. The method of claim 2, furthercomprising the mobile device changing connectivity to the registeredwireless access points on the route as the mobile device travels alongthe route.
 4. The method of claim 1, wherein the metrics regardingquality of wireless internet service are selected from the groupconsisting of: encryption type, costs, radio modulation, reliability ofa provider of the wireless internet access points and type of networkservices.
 5. The method of claim 1, wherein the server sends a pluralityof routes to the mobile device, ranked according to the user ranking ofwireless internet quality of service metrics, further comprising thestep of the server receiving a selection of a route from the mobiledevice.
 6. The method of claim 5, further comprising the step ofdisplaying the plurality of routes to the user on the mobile device. 7.The method of claim 6, in which each of the plurality of routes aredisplayed with at least one indication of the wireless internet qualityof service metrics for the route.
 8. A computer program product fordetermining a route of travel for a mobile device from a start point toat least one destination point based on a user ranking of wirelessinternet quality of service metrics using a server connected to themobile device through a network, a server comprising at least oneprocessor, one or more memories, one or more computer readable storagemedia, the computer program product comprising a computer readablestorage medium having program instructions embodied therewith, theprogram instructions executable by the server to perform a methodcomprising: receiving, by the server, the start point, at least onedestination point, and the ranking of wireless internet quality ofservice metrics from the mobile device; determining, by the server,registered wireless access points along a plurality of routes betweenthe starting point and the at least one destination point accessible tothe mobile device; ranking, by the server, each of the plurality ofroutes based on the wireless internet quality of service metrics of thewireless access points along the route and the user ranking of thewireless internet quality of service metrics; and sending, by theserver, at least one of the routes to the mobile device.
 9. The computerprogram product of claim 8, further comprising program instructionscomprising: sending, by the server, user credentials and informationregarding the mobile device to providers of the registered wirelessaccess points on the route; receiving, by the server, connectioninformation of the registered wireless access points on the route; andsending, by the server, the connection information to the mobile device.10. The computer program product of claim 9, further comprising themobile device changing connectivity to the registered wireless accesspoints on the route as the mobile device travels along the route. 11.The computer program product of claim 8, wherein the metrics regardingquality of wireless internet service are selected from the groupconsisting of: encryption type, costs, radio modulation, reliability ofa provider of the wireless internet access, and type of networkservices.
 12. The computer program product of claim 8, wherein theserver sends a plurality of routes to the mobile device, rankedaccording to the user ranking of wireless internet quality of servicemetrics, further comprising the program instructions of receiving, bythe server, a selection of a route from the mobile device.
 13. Thecomputer program product of claim 12, further comprising the programinstructions of displaying the plurality of routes to the user on themobile device.
 14. The computer program product of claim 13, in whicheach of the plurality of routes are displayed with at least oneindication of the wireless internet quality of service metrics for theroute.
 15. A computer system for determining a route of travel for amobile device from a start point to at least one destination point basedon a user ranking of wireless internet quality of service metrics usinga server connected to the mobile device through a network, the systemcomprising a server comprising at least one processor, one or morememories, one or more computer readable storage media having programinstructions executable by the computer to perform the programinstructions comprising: receiving, by the server, the start point, atleast one destination point, and the ranking of wireless internetquality of service metrics from the mobile device; determining, by theserver, registered wireless access points along a plurality of routesbetween the starting point and the at least one destination pointaccessible to the mobile device; ranking, by the server, each of theplurality of routes based on the wireless internet quality of servicemetrics of the wireless access points along the route and the userranking of the wireless internet quality of service metrics; andsending, by the server, at least one of the routes to the mobile device.16. The computer system of claim 15, further comprising programinstructions comprising: sending, by the server, user credentials andinformation regarding the mobile device to providers of the registeredwireless access points on the route; receiving, by the server,connection information of the registered wireless access points on theroute; and sending, by the server, the connection information to themobile device.
 17. The computer system of claim 15, wherein the metricsregarding quality of wireless internet service are selected from thegroup consisting of: encryption type, costs, radio modulation,reliability of a provider of the wireless internet access, and type ofnetwork services.
 18. The computer system of claim 15, wherein theserver sends a plurality of routes to the mobile device, rankedaccording to the user ranking of wireless internet quality of servicemetrics, further comprising the program instructions of receiving, bythe server, a selection of a route from the mobile device.
 19. Thecomputer system of claim 18, further comprising the program instructionsof displaying the plurality of routes to the user on the mobile device.20. The computer system of claim 19, in which each of the plurality ofroutes are displayed with at least one indication of the wirelessinternet quality of service metrics for the route.